package cn.ondraw.ragflow.service;

import cn.ondraw.ragflow.pojo.request.CreateDatasetRequest;
import cn.ondraw.ragflow.pojo.request.DeleteDatasetsRequest;
import cn.ondraw.ragflow.pojo.request.ListDatasetsRequest;
import cn.ondraw.ragflow.pojo.request.UpdateDatasetRequest;
import cn.ondraw.ragflow.pojo.response.CreateDatasetResponse;
import cn.ondraw.ragflow.pojo.response.DeleteDatasetsResponse;
import cn.ondraw.ragflow.pojo.response.ListDatasetsResponse;
import cn.ondraw.ragflow.pojo.response.UpdateDatasetResponse;

/**
 * 知识库
 */
public interface DatasetService {
    /**
     * 创建数据集
     *
     * @param request 创建数据集的请求对象
     * @return 创建数据集的响应对象
     */
    CreateDatasetResponse createDataset(CreateDatasetRequest request);

    /**
     * 删除数据集
     *
     * @param request 删除数据集的请求对象
     * @return 删除数据集的响应对象
     */
    DeleteDatasetsResponse deleteDatasets(DeleteDatasetsRequest request);

    /**
     * 更新数据集配置
     *
     * @param datasetId 数据集 ID
     * @param request   更新数据集的请求对象
     * @return 更新数据集的响应对象
     */
    UpdateDatasetResponse updateDataset(String datasetId, UpdateDatasetRequest request);

    /**
     * 列出数据集
     *
     * @param request 列出数据集的请求对象
     * @return 列出数据集的响应对象
     */
    ListDatasetsResponse listDatasets(ListDatasetsRequest request);
}
